1. Field of the Invention
The present invention relates to a method for storing the data necessary for the numerical calculation of the computer, and more particularly, to a first-in first-out memory device used, for example, in a computer for the data storage and data transfer, particularly in a parallel processing system.
2. Description of the Prior Art
The data storage method according to the prior art is described, for example, in "Numerical Calculation Programming" pages 98-101 (Author: Masatake Mori, Publisher: Iwanami Shoten).
FIG. 7a shows a prior art first-in first-out memory method for storing numeral signals. A memory area 101 is provided with a portion 102 for storing the data representing the position of the numeral signal and a portion 103 for storing the data representing the value of the numeral signal. The numeral signal which occurs with a high frequency, such as zero, is disregarded so as to compress the storing area. For example, when the numeral signals to be stored are 3, 8, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 6, numeral signal positions 1, 2, 9, 10, 15 excluding those of zeros are stored sequentially in portion 102, while the values 3, 8, 3, 3, 6 of the numeral signals at the corresponding positions are stored sequentially in portion 103.
FIG. 7b shows a first-in first-out memory device according to the prior art. In response to the write-in instruction, a write control 115 outputs a write-in pulse so as to store the position data and numeral signal from input 110 to an address in memory area 136 as pointed by a write pointer 137. Then, in response to the read-out instruction, a reading control 116 outputs a read-out pulse so as to read the position data and numeral signal from an address pointed by a read pointer 138 from output 119.
The prior art data storage method as described above, however, has the following problems.
In the case where the number of occurrence of zeros is decreased, the data compression efficiency is decreased. In fact, the data size may be increased due to the increase of the position data.
Also, it is necessary to prepare two multi-bit data, one for the position data and the other for the numeral value data. This results in a extra processing time and processing steps. Thus, the hardware and/or the software will become complicated, and high cost.
Furthermore, it is not possible to compress two or more numeral signal.